package com.example.Laboratory.Untils;

import org.springframework.web.multipart.MultipartFile;


import java.io.File;
import java.io.IOException;

public class OperationFile {

    //文件上传
    public static String upfile(MultipartFile file) {
        // 获取文件名称,包含后缀
        if (file != null) {
            String fileName = file.getOriginalFilename();
            if (!file.isEmpty()) {
                // 获取文件名称,包含后缀
                // 存放在这个路径下：该路径是该工程目录下的static文件下：(注：该文件可能需要自己创建)
                // 放在static下的原因是，存放的是静态文件资源，即通过浏览器输入本地服务器地址，加文件名时是可以访问到的
                //String path = ClassUtils.getDefaultClassLoader().getResource("").getPath() + "static/image/";
                String path = "E:/yyy/";
                try {
                    // 该方法是对文件写入的封装，在util类中，导入该包即可使用，后面会给出方法
                    FileUtil.fileupload(file.getBytes(), path, fileName);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                // 接着创建对应的实体类，将以下路径进行添加，然后通过数据库操作方法写入
                // organizationMapper.addOrganization("http://localhost:8080/image/" + fileName);
            }
            return "E:/yyy/" + fileName;//上传成功
        } else {
            return "没有选择文件";//没有选择文件
        }
    }


    //文件删除
    public static int deletefile(String filepath) {
        File file = new java.io.File(filepath);
        //删除文件
        if (file.exists()) {
            if (file.delete()) {
                return 1;//删除成功
            } else {
                return 0;//删除失败
            }
        } else {
            return 2;//文件不存在
        }
    }

    //文件更新
    public static String updatafile(String filepath,MultipartFile file) {
        int code = deletefile(filepath);
        if (code == 1){
            String tip = upfile(file);
            return tip;
        }else{
            return "更新失败";
        }

    }


}
